package com.project.mapper;

import com.project.bean.UserBean;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * 用户管理Mapper接口
 */
public interface IUserMapper {
    /**
     * 登录
     * @param code
     * @param psw
     * @return
     */
    @Select("select * from t_user where u_code = #{code} and u_psw = #{psw}")
    @ResultMap("userMap")
    public UserBean login(@Param("code") String code,@Param("psw") String psw);

    /**
     * 添加用户，验证code是否存在
     * @param code
     * @return
     */
    @Select("select * from t_user where u_code = #{code}")
    @ResultMap("userMap")
    public UserBean checkCode(String code);
    @Insert("insert into t_user(u_code,u_psw,u_grade,u_realName) values(#{code},#{psw},#{grade},#{name})")
    public void add(UserBean user);

    /**
     * 删除用户
     * @param id
     */
    @Delete("delete from t_user where pk_userId = #{id}")
    public void del(int id);

    /**
     * 按id查找用户
     * @param id
     * @return
     */
    @Select("select * from t_user where pk_userId = #{id}")
    @ResultMap("userMap")
    public UserBean findById(int id);

    /**
     * 修改用户等级
     * @param id
     * @param grade
     */
    @Update("update t_user set u_grade = #{grade} where pk_userId = #{id}")
    public void updateGrade(@Param("id") int id,@Param("grade") String grade);

    /**
     * 动态查询用户
     * @param grade
     * @return
     */
    public List<UserBean> findByGrade(String grade);

    /**
     * 更新密码
     * @param id
     * @param newPsw
     * @return
     */
    @Update("update t_user set u_psw = #{newPsw} where pk_userId = #{id}")
    public boolean updatePsw(@Param("id") int id,@Param("newPsw") String newPsw);

}
